변수의 선언,초기화,할당의 차이점은 무엇인가

#resource
#javascript
작성일:2025. 4. 17.
수정일:2025. 4. 20.

선언, 초기화, 할당 세 단계를 구분하는 것은 호이스팅과 시간적 사각지대(TDZ)같은 개념을 이해하는 데 기초가 된다. 변수가 어떻게 생성되고 언제 접근 가능한지를 정확히 아는것은 코드의 동작을 예측하고 오류를 피하는데에 중요하다.

  1. 선언(Declaration) 변수 이름을 자바스크립트 엔진에 등록하는 단계이다. 이 단계에서 해당 스코프는 참조할 식별자를 알게 된다. 예를 들어 let myVar;myVar이라는 변수를 선언한다.

  2. 초기화(Initialization) 선언된 변수를 위해 메모리 공간을 확보하고, 기본값으로 undefined를 할당하는 단계이다. letconst는 선언 단계와 초기화 단계가 분리되어 있지만, var은 선언과 동시에 undefined로 초기화된다. 이 때문에 호이스팅 작동시에 문제가 생긴다

  3. 할당(Assignment) =연산자를 사용하여 변수에 실제 값을 저장하는 단계이다. undefined로 초기화된 변수에 구체적인 값을 넣어주는 과정이다. 예를 들어 myVar = 10;myVar변수에 10이라는 값을 할당한다.